package cc.linker.steplink.crm.service;

import cc.linker.steplink.crm.domain.Customer;
import cc.linker.steplink.crm.domain.User;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * 用户服务
 */
public interface IUserService {

    /**
     * 根据usercode获取用户信息
     * @param usercode
     */
    void getUser(String usercode);

    /**
     * 获取简单用户对象
     * @param usercode
     */
    User getSimpleUser(String usercode);

    /**
     * 判断机构账户是否是小b
     * @param userId
     * @return
     */
    Map<String,String> isSaler(String userId);

    /**
     * 获取机构的支付模式
     * @param orgId
     * @return
     */
    Integer getPayMode(String orgId);

    /**
     * 给机构设置默认支付模式
     * @param orgId
     */
    void savePayModeByOrgId(String orgId,Integer payMode);

    /**
     * 获取用户列表接口
     */
    PageInfo getUserPageList(Map<String, Object> param);

    /**
     * 获取用户行为列表
     */
    PageInfo getUserBehaviorList(Map<String, Object> param);

    /**
     * 支付宝用户接入-对外开放
     */
    void alipayUserSave(Map<String, Object> param);

    /**
     * 是否app
     * @param orgId
     * @return
     */
    boolean isApp(String orgId);

    /**
     * app用户接入-对外开放
     */
    void appUserSave(Map<String, Object> param);

    Integer getPayModeByUserCenter(String orgId);

    List getVipListByCustomerId(String customerId);


    void setInitialize(User user);
    Customer getUserInfo(Map<String, Object> param);

}
